﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//递归:
/*递归在书写的时候，有2个必要条件：
• 递归存在限制条件，当满⾜这个限制条件的时候，递归便不再继续。开始回归
• 每次递归调⽤之后越来越接近这个限制条件。*/

////从键盘上输入一个数，求阶乘的和
int fact(int a)//求一个数阶乘的函数
{
	if (a == 0)
		return 1;
	else
		return a * fact(a - 1);
}
int main()
{
	int n;
	scanf("%d", &n);
	int i = 0;
	int sum = 0;
	for (i = 1; i <= n; i++)//阶乘求和
	{
		sum += fact(i);
	}
	printf("%d\n", sum);
	return 0;
}


//顺序打印一个整数的每一位
void print_n(int x)
{
	if (x > 9)
	{
		print_n(x / 10);
	}
	printf("%d ", x % 10);
}
int main()
{
	int n;
	scanf("%d", &n);
	print_n(n);
	return 0;
}

//求第n个斐波那契数
int Fib(n)
{
	if (n <= 2)
	{
		return 1;
	}
	else
	{
		return Fib(n - 1) + Fib(n - 2);
	}
}
int main()
{
	int n;
	scanf("%d", &n);
	int a = Fib(n);
	printf("%d\n", a);
	return 0;
}